package com.sunnada.edu.system.sysrole.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
public interface RoleService {
	/***
	 * explain 角色总记录 
	 * @author zjc 2016-8-02
	 * @param params
	 * @return int
	 */
	public int getRoleCots(HashMap<String, String> params);
	/***
	 * explain 角色查询 
	 * @author zjc 2016-8-02
	 * @param params
	 * @return List<?>
	 */
	public List<?> findRoles(HashMap<String, String> params);
	/***
	 * explain  角色增加
	 * @author zjc 2016-8-02
	 * @param params
	 * @return String
	 */
	public String roleAdd(HashMap<String, String> params);
	/***
	 * explain  角色修改
	 * @author zjc 2016-8-02
	 * @param params
	 * @return String
	 */
	public String roleUpdate(HashMap<String, String> params);
	/***
	 * explain  根据角色recId获取角色
	 * @author zjc 2016-8-02
	 * @param params
	 * @return String
	 */
	@SuppressWarnings("rawtypes")
	public Map getRoleByRecId(HashMap<String, String> params);
	/***
	 * explain  角色与模块之间关系增加
	 * @author zjc 2016-8-02
	 * @param params
	 * @return String
	 */
	public String moduleRoleAdd(HashMap<String, String> params);
	/***
	 * explain  角色与模块之间关系删除
	 * @author zjc 2016-8-02
	 * @param params
	 * @return String
	 */
	public String moduleRoleDelete(HashMap<String, String> params);
	/***
	 * explain  根据角色recId获取模块Id
	 * @author zjc 2016-8-02
	 * @param params
	 * @return String
	 */
	public String[] getModuleIdsByRoleId(HashMap<String, String> params);
	/***
	 * explain 角色删除
	 * @author zjc 2016-8-02
	 * @param params
	 * @return String
	 */
	public String roleDel(HashMap<String, String> params);
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	public List roleTree2(HashMap<String, String> params);
	public List roleAuthorizeTree(HashMap<String, String> params);
	/***
	 * explain 根据角色查用户 总记录
	 * @author zjc 2015-5-21
	 * update zjc 2015-5-21
	 * @param params
	 * @return int
	 */
	public int getRoleUserCots(HashMap<String, String> params);
	/***
	 * explain 根据角色查询用户
	 * @author zjc 2015-5-21
	 * update zjc 2015-5-21
	 * @param params
	 * @return List<?>
	 */
	public List<?> findRoleUsers(HashMap<String, String> params);
	
	/***
	 * explain 根据角色ID查询不存在该角色的用户总记录
	 * @author zjc 2015-5-22
	 * update zjc 2015-5-22
	 * @param params
	 * @return int
	 */
	public int getUserNoexistRoleIdCots(HashMap<String, String> params);
	 /***
	 * explain 根据角色ID查询不存在该角色的用户数据
	 * @author zjc 2015-5-22
	 * update zjc 2015-5-22
	 * @param params
	 * @return int
	 */
	public List<?> findUserNoexistRoleIds(HashMap<String, String> params);
	     /***
		 * explain 用户绑定角色
		 * @author zjc 2015-5-22
		 * update zjc 2015-5-22
		 * @param params
		 * @return int
		 */
	public String roleBindSave(HashMap<String, String> params);
	/***
	 * explain 用户绑定角色功能
	 * @author zjc 2015-5-25
	 * update zjc 2015-5-25
	 * @param params
	 * @return String
	 */
	public String roleUserAdd(HashMap<String, String> params);
	/***
	 * explain 用户解绑角色功能
	 * @author zjc 2015-5-25
	 * update zjc 2015-5-25
	 * @param params
	 * @return String
	 */
	public String roleBindDelete(HashMap<String, String> params);
	
	/***
	 * explain 角色启用功能
	 * @author zjc 2015-5-26
	 * update zjc 2015-5-26
	 * @param params
	 * @return String
	 */
	public String roleEnable(HashMap<String, String> params);
	
	/***
	 * explain 角色停用功能
	 * @author zjc 2015-5-26
	 * update zjc 2015-5-26
	 * @param params
	 * @return String
	 */
	public String roleDisable(HashMap<String, String> params);

	
}
